#pragma once
#define POWER_C PA0
#define POWER_S PA1
#define KEY2 PB14
#define KEY3 PB13
// #define KEY2 PB7
// #define KEY3 PB9
#define BAT_ADC PA3
#define CHARGE PA4
#define SIGNAL PA6
#define LCD_BLK PA2
#define LCD_CS PB0
#define LCD_RES PB1
#define LCD_DC PB2
#define LCD_SCK PB10
#define LCD_MOSI PB11
#define LCD_MISO PB6
#define HL_POWER PD2
#define LD_POWER PD1
#define IR_CTRL PF1
#define LD_CTRL PF0

#define SERIAL_TX PA9
#define SERIAL_RX PA10

#define SPI_MISO LCD_MISO
// SIGNAL引脚输入捕获对应定时器
#define TIMUSED TIM3
// 启用外部8MHz晶振
// #define ENABLE_HSE

// 输入捕获定时器溢出设定值
#define TIM_OVERFLOW_VAL 65536
// 数据滤波采样数量
#define FILTER_WINDOW_SIZE 7
#define FILTER_DEFAULT_ERROR 9999999
// RPM显示上限
#define RPM_DISPLAY_UPPER_LIMIT 999999
// 配置页面显示配置项数量
#define SETTINT_DISPLAY_ITEM_COUNT 7

// 屏幕初始化参数最大值
#define LCD_INIT_TYPE_MAX 3
#define LCD_INIT_TYPE_DEFAULT 0
// 当前配置版本号,调整版本号后持久化数据会被defaultconfig覆盖
#define CONFIG_VERSION 1003
// 电池框图标没电时的默认电压
#define LOW_BAT_DEFAULT 3.5f
#define LOW_BAT_MAX 3.8f
#define LOW_BAT_MIN 3.3f

// 电池框图标满电时的默认电压
#define FULL_BAT_DEFAULT 4.10f
#define FULL_BAT_MAX 4.4f
#define FULL_BAT_MIN 4.0f

// 背光亮度默认值
#define LCD_BACKLIGHT_DEFAULT 100
// 背光亮度最大值
#define LCD_BACKLIGHT_MAX 100
// 背光亮度最小值
#define LCD_BACKLIGHT_MIN 10

#define LCD_INVERT_DISPLAY_DEFAULT 0

// 默认关机倒计时时间(s)
#define SHUTDOWN_COUNTDOWN_DEFAULT 180
// 自动关机设置上限
#define SHUTDOWN_COUNTDOWN_MAX 600
// 自动关机设置下限
#define SHUTDOWN_COUNTDOWN_MIN 60
// 激光接收管信号默认不反转
#define LD_SIGNAL_INVET_DEFAULT 0
// 霍尔接收管信号默认不反转
#define HL_SIGNAL_INVET_DEFAULT 0
// 显示开机动画
#define SHOW_START_DEFAULT 1
// 显示关机动画
#define SHOW_END_DEFAULT 1

#define LCD_REFRESH_CYCLE_DEFAULT 200
#define LCD_REFRESH_CYCLE_MAX 2000
#define LCD_REFRESH_CYCLE_MIN 100

#define CALIBRATION_VALUE_DEFAULT 32768
#define CALIBRATION_VALUE_MAX 33000
#define CALIBRATION_VALUE_MIN 32500

#define MEAS_LOW_LIMIT_DEFAULT 6
#define MEAS_LOW_LIMIT_MAX 60
#define MEAS_LOW_LIMIT_MIN 1


// 滴答定时器每次计数时长（微秒）
#define TICK_TIMER_STEP 0.015625f

// 电池图标位置
#define BATTERY_ICON_LOCATION_X 135
#define BATTERY_ICON_LOCATION_Y 0

#define FIRMWARE_VERSION "v1.0.3"
